
// 创建两个指针，指针p每次走一步，指针q每次走两步；
// 当指针q到达链表尾部时，指针p差不到到达链表中间；
// 注意尾部边界的处理即可确定链表中间节点。



var middleNode = function(head) {
    slow = fast = head;
    while (fast && fast.next) {
        slow = slow.next;
        fast = fast.next.next;
    }
    return slow;
};